#!/usr/bin/env python
# coding: UTF-8
import sys
import serial
import string
 
S_PORT='/dev/ttyACM0'
S_REQ = '"#102#"' # Результат запроса латиницей, оператор билайн.
S_SPEED=115200
if len(sys.argv)>1: # Если есть аргументы в командной строке
	S_PORT=sys.argv[1] # предполагаем, что это имя устройства (модема)
try:
	sp = serial.Serial(S_PORT, S_SPEED, timeout=3) # Пытаемся открыть порт
except: # Открыть не удалось
	print 'Error: Устройство \"%s\" занято или не существует!' % S_PORT
	sys.exit() # Завершаем работу
if __name__ == '__main__':
	print 'Запрос баланса. Ожидайте...'
	s_query = 'AT+CUSD=1,'+S_REQ+',15 \015' # Формируем запрос
	sp.write(s_query) # Отправляем запрос
	str = ""
	while not(str.startswith('+CUSD:')):
		str=sp.readline() # читаем пока не получим ответ
	s=string.replace(str.split(',')[1],'"','')
	print(s) # выводим результат
	sp.close() # закрываем порт
	sys.exit() # выход
